راهی برای اجرای بومی اپلیکیشنهای اندروید و لینوکس روی فوچسیا پیشنهاد شد
گوگل از سالها پیش مشغول توسعه Fuchsia است؛ سیستم عاملی که ادعا میشود بر پایه لینوکس ساخته نشده است. حالا جدیدترین طرح برای Fuchsia OS نشان میدهد که این سیستم عامل غیرلینوکسی چطور میتواند برنامههای «غیردستکاریشده» را از اندروید و لینوکس اجرا کند.
در این طرحِ پیشنهادی فوچسیا به جای اجرای بستر لینوکسی از سیستمی به نام Starnix استفاده میکند که نقش مترجم میان دستورالعملهای هسته لینوکس و دستورالعملهای هسته Zircon فوچسیا را برعهده میگیرد. با این کار، برنامههای لینوکسی بهشکل عادی اجرا میشوند، و Starnix اطمینان مییابد که اپلیکیشنها دقیقا همان عملکردی را داشته باشند که روی لینوکس دارند.
نکته جالب در خصوص این طرح روش دقیق مدنظر توسعهدهندگان برای استفاده از Starnix است. در این طرح به دفعات به استفاده از Starnix برای اجرای مستقیم کدهای اندرویدی روی فوچسیا اشاره شده است:
ما همزمان با توسعه جهان نرمافزاری مدنظرمان برای فوچسیا با نرمافزارهایی روبرو هستیم که میخواهیم آنها را روی فوچسیا اجرا کنیم ولی نمیتوانیم مجددا کامپایلشان کنیم. برای مثال، اپلیکیشنهای اندرویدی ماژولهایی از کدهای بومی دارند که برای لینوکس کامپایل شدهاند. ما برای اجرای این نرمافزارها روی فوچسیا باید بتوانیم کدهای دودویی را بدون دستکاری اجرا کنیم.
برای نمونه، ما برخی از کدهای دودوییِ آزمایشیِ سطح پایین را از درخت منبع اندروید و «پروژه آزمایشی لینوکس» اجرا میکنیم.
از این توضیحات میفهمیم که گوگل احتمالا میخواهد پشتیبانی عمیق از اپلیکیشنهای اندرویدی را به فوچسیا بیاورد و هیچ استثنایی، حتی برای اپهایی که به منظور کدنویسی با زبان C یا ++C از Android NDK استفاده میکنند، قائل نشود. البته Starnix صرفا راهکاری موقتی است که امکان اجرای اپلیکیشنها را روی فوچسیا فراهم میکند تا توسعهدهندگان زمان کافی برای پورت کردن برنامههای خود به این سیستم عامل را داشته باشند. زیرا در هر صورت، اپلیکیشنهای بومی فوچسیا باید نسبت به اپلیکیشنهایی که از طریق Starnix اجرا میشوند عملکرد بهتری داشته باشند.

افزون بر این، پیشنهاد استفاده از Starnix هنوز در مرحله پروپوزال است و کارهای بسیار زیادی باید انجام بگیرد تا سازگاری مناسب بین نرمافزارهای اندروید/لینوکس و فوچسیا/Zircon داشته باشیم. گوگل برای اجتناب از شکست این پروژه مشغول تحقیق روی علل موفقیت یا شکست پروژههای مشابهی مثل نسل اول Windows Subsystem for Linux یا WSL1 است. با این وجود، همچنان این احتمال وجود دارد که پروپوزال فوق شکست خورده و فوچسیا هم برای اجرای نرمافزارهای لینوکس و اندروید به ماشین مجازی محتاج شود.
گوگل اخیرا فرآیند توسعه فوچسیا را آزاد کرد تا توسعهدهندگان از سراسر دنیا بتوانند در تکمیل این پروژه مشارکت داشته باشند. یکی از مشکلات اصلی خلق سیستم عاملهای جدید، بهویژه سیستم عاملهایی مثل فوچسیا که از صفر ساخته میشوند، این است که کاربران میخواهند بتوانند اپلیکیشنهای موردنیاز و محبوبشان را روی آنها اجرا کنند.
تاکنون انتظار عموم کاربران این بود که فوچسیا بتواند مشابه Chrome OS اپلیکیشنهای لینوکسی را از طریق یک ماشین مجازی لینوکسی اجرا کند. Chrome OS میخواهد حتی برای اجرای اپلیکیشنهای اندرویدی هم با کمک پروژهای موسوم به arcvm از همین روش کمک بگیرد. ولی استفاده از روش ماشین مجازی معایبی هم دارد. برای مثال، جابهجایی فایل بین میزبان (در اینجا فوچسیا) و مهمان (مثلا اندروید) میتواند دشوار و چالشبرانگیز باشد. بهعلاوه، فوچسیا تاکید خاصی بر امنیت دارد و میخواهد همه برنامهها را تا جای ممکن از یکدیگر جدا نگه دارد. به همین منظور، اگر قرار باشد همین سطح از ایزولهسازی حفظ شود، تعداد ماشینهای مجازی باید بالا برود و این اتفاق عملکرد سیستم عامل را کُند میکند.